1. Technical Field
Embodiments of the present disclosure relate generally to management of configuration data, and more specifically to storage and management of configuration data in persistent memories such as flash memories requiring block-wise erase before rewriting.
2. Related Art
Configuration generally refers to setting parameters controlling the operation of a device or a system to corresponding values to cause the device/system to operate in a desired manner. The values associated (according to any pre-specified convention) with parameters together are termed as configuration data, which controls the corresponding aspects of operation of the device/system. For example, in the context of a sensor network, the frequency of measurement of temperature, pressure, etc., may be specified by corresponding configuration data, and the corresponding information may be polled based on the value specified for the frequency parameter.
Configuration data may be stored in a persistent (i.e., non-volatile) memory prior to being provided to the corresponding device or system to be configured, for example, prior to initialization of the device/system. Thus, users or administrators typically set the parameters to corresponding values prior to initialization to control the operation of the device/system. Further, the configuration data may be updated from time to time (either by user action or by the operation of corresponding program logic due to various operating conditions) based on the specific requirements of the operating environment. Operations such as the storing and updating are together referred to as managing the configuration data.
There are several types of persistent memories, which require memory locations to be erased once written to, before another write to the same memory locations can be performed. Further, the erasure may be possible only block-wise, i.e., for an entire chunk (set of contiguous memory locations termed as a block). An example of such a memory device is flash memory. As is well known in the relevant arts, flash memory is a non-volatile storage component, which can be electrically erased and rewritten to (re-programmed). Erasure may need to be performed in a block-wise fashion, i.e., for an entire block at a time (rather than per memory location) before any memory location in the block is rewritten.
Several aspects of the present invention are related to management of configuration data in such memories.
The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.